package aceim.protocol.snuk182.icq.inner.dataentity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class ICQBuddyList implements Serializable {
/**
*
*/
private static final long serialVersionUID = 5979496006961145797L;
public Set<Short> existingIDs = new HashSet<Short>();
public List<ICQBuddy> buddyList = new ArrayList<ICQBuddy>();
public List<ICQBuddyGroup> buddyGroupList = new ArrayList<ICQBuddyGroup>();
public Map<String, Short> permitList = new HashMap<String, Short>();
public Map<String, Short> denyList = new HashMap<String, Short>();
public List<ICQOnlineInfo> buddyInfos = Collections.synchronizedList(new ArrayList<ICQOnlineInfo>());
public Date lastUpdateTime;
public int itemNumber = 0;
public byte ssiVersion;
public List<ICQBuddy> notAuthList = new ArrayList<ICQBuddy>();
public ICQOnlineInfo getByUin(String uin){
synchronized (buddyInfos) {
for (ICQOnlineInfo info : buddyInfos) {
if (info.uin.equals(uin)) {
return info;
}
}
}
return null;
}
public ICQBuddy removeFromNotAuthListByUin(String uin) {
for (int i=notAuthList.size()-1; i>=0; i--){
if (notAuthList.get(i).uin.equals(uin)){
return notAuthList.remove(i);
}
}
return null;
}
public ICQBuddyGroup findGroupById(int groupId) {
for (ICQBuddyGroup group : buddyGroupList) {
if (group.groupId == groupId) {
return group;
}
}
return null;
}
public ICQBuddy findBuddyByUin(String uin) {
for (ICQBuddy b : buddyList) {
if (b.uin.equals(uin)) {
return b;
}
}
return null;
}
public List<Integer> getBuddyGroupIds(){
List<Integer> list = new ArrayList<Integer>();
for (ICQBuddyGroup group : buddyGroupList){
list.add(group.groupId);
}
return list;
}
}